昨天很粗淺的介紹張量(Tensor)跟TensorFlow的架構,一定很抽象,今天我們就來看一些例子,幫助瞭解整個輪廓。
w, x, b是輸入的資料與訓練模型時提供的變數。資料可以是 N 維陣列,而 b 為訓練模型時的變數可以單純一個數字(純量),比如說 0.5,那就是 0 維的Tensor。
而圓角方框框則是運算。
我們現在就來看看兩個矩陣相乘範例:
import tensorflow as tf
# Build a dataflow graph.
c = tf.constant([[1.0, 2.0], [3.0, 4.0]])
d = tf.constant([[1.0, 1.0], [0.0, 1.0]])
e = tf.matmul(c, d)
# Construct a `Session` to execute the graph.
with tf.Session() as sess:
# Execute the graph and store the value that `e` represents in `result`.
result = sess.run(e)
print(result)
對照到第一張圖,c與d可以對應到w與x(然後我們沒有b可以參照),然後e可以對應到框框matmul。
我們就可以瞭解,當c與d進行完運算後,依然是一個tensor,還能夠拿去後續的運算。
所以tensor們會像工廠流水線一樣流轉,TensorFlow就是由此得名的。